Переклад цілих невід`ємних чисел у різних системах числення

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство освіти Республіки Таджикистан
Таджицький Технічний Університет ім. ак. М.С. Осімі
кафедра АСУ
Лабораторна робота № 4
«Переклад цілих невід'ємних чисел у різних системах числення»
Виконав:
Прийняв:
-Душанбе 2009 -

Програма Enhanced Converter
Public x0, x, i, j, z As Double Процедура ініціалізації програми
Public y As String
Private Sub clr_Click ()
inp.Text = "" Процедура очищення текстових полів
out.Text = ""
End Sub

Зовнішній вигляд вікна програми з введеними даними
Private Sub Form_KeyPress (KeyAscii As Integer)
Dim val As String
val = Chr (KeyAscii)
Основна процедура перевірки вводу даних
Прямокутна виноска: Основна процедура перевірки вводу даних Select Case cmb.ListIndex
Case 0
Select Case val
Case "0"
inp.Text = inp.Text & "0"
Case "1"
inp.Text = inp.Text & "1"
End Select
Case 1
If val> = "0" And val <= "9" Then
If val> = "8" And val <= "9" And inp.Text = "" Then
Exit Sub
Else
End If
inp.Text = inp.Text & CStr (val)
Else
End If
Case 2
If (val> = "0" And val <= "9") Or (val> = "a" And val <= "f") Or (val> = "A" And val <= "F") Then
inp.Text = inp.Text & CStr (val)
Else
End If
Case 3, 4, 5
If val> = "0" And val <= "9" Then
inp.Text = inp.Text & CStr (val)
Else
End If
End Select
End Sub
Private Sub inp_KeyDown (KeyCode As Integer, Shift As Integer)
On Error GoTo err:
процедура очищення полів з клавіатури
Прямокутна виноска: процедура очищення полів з клавіатури If (KeyCode = vbKeyBack) Then
inp.Text = Left (inp.Text, Len (inp.Text) - 1)
ElseIf (KeyCode = vbKeyDelete) Then
inp.Text = ""
Else
End If
Exit Sub
err:
Beep
End Sub
Private Sub Form_Load ()
inp.Text = ""
End Sub
Private Sub inp_Change ()
Основна процедура з обчислення значень у «реальному часі»
Прямокутна виноска: Основна процедура з обчислення значень у «реальному часі» Dim d (100) As Double
Dim ds (100) As String
Select Case cmb.ListIndex
Case 0
inp.MaxLength = 40
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = (Len (inp.Text))
x = 0
j = 0
Do
x = x + (val (Mid (inp.Text, i, 1)) * (2 ^ j))
i = i - 1
j = j + 1
Loop Until i = 0
out.Text = x
End If
Case 1
inp.MaxLength = 40
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = (Len (inp.Text))
x = 0
j = 0
Do
x = x + (val (Mid (inp.Text, i, 1)) * (8 ^ j))
i = i - 1
j = j + 1
Loop Until i = 0
out.Text = x
End If
Case 2
inp.MaxLength = 40
z = 0
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = (Len (inp.Text))
x = 0
j = 0
Do
Select Case Mid (inp.Text, i, 1)
Case "A", "a"
z = 10
Case "B", "b"
z = 11
Case "C", "c"
z = 12
Case "D", "d"
z = 13
Case "E", "e"
z = 14
Case "F", "f"
z = 15
Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
z = val (Mid (inp.Text, i, 1))
End Select
x = x + z * (16 ^ j)
i = i - 1
j = j + 1
Loop Until i = 0
out.Text = x
End If
Case 3
inp.MaxLength = 15
On Error GoTo err:
If inp.Text = "" Then
out.Text = ""
Exit Sub
ElseIf val (inp.Text) = 0 Or val (inp.Text) = 1 Then
out.Text = inp.Text
Exit Sub
Else
i = 1
x0 = val (inp.Text)
Do
d (i) = val (x0 - (val (x0 / 2) * 2))
x = Round ((x0 / 2) - 0.3, 0)
i = i + 1
x0 = x
Loop Until x = 1
d (i) = x
out.Text = ""
Do
out.Text = out.Text & val (d (i))
i = i - 1
Loop Until i = 0
End If
Case 4
inp.MaxLength = 15
On Error GoTo err:
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = 1
x0 = val (inp.Text)
If x0> = 0 And x0 <= 7 Then
out.Text = inp.Text
Exit Sub
Else
Do
d (i) = val (x0 - (val (x0 / 8) * 8))
x = val (x0 / 8)
If x> = 0 And x <= 7 Then
i = i + 1
d (i) = x
Exit Do
Else
i = i + 1
x0 = x
End If
Loop Until x = 1
out.Text = ""
Do
out.Text = val (out.Text) & val (d (i))
i = i - 1
Loop Until i = 0
End If
End If
Case 5
inp.MaxLength = 15
z = 0
If inp.Text = "" Then
out.Text = ""
Exit Sub
Else
i = 1
x0 = val (inp.Text)
If val (inp.Text)> = 0 And val (inp.Text) <= 15 Then
Select Case val (inp.Text)
Case 10
y = "A"
Case 11
y = "B"
Case 12
y = "C"
Case 13
y = "D"
Case 14
y = "E"
Case 15
y = "F"
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
y = inp.Text
End Select
out.Text = y
Exit Sub
Else
Do
z = val (x0 - (val (x0 / 16) * 16))
Select Case z
Case 10
y = "A"
Case 11
y = "B"
Case 12
y = "C"
Case 13
y = "D"
Case 14
y = "E"
Case 15
y = "F"
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
y = CStr (z)
End Select
ds (i) = y
x = val (x0 / 16)
If x <= 0 Then Exit Do
i = i + 1
x0 = x
Loop Until x = 1
out.Text = ""
Do
out.Text = out.Text & ds (i)
i = i - 1
Loop Until i = 0
End If
End If
End Select
Exit Sub
err:
MsgBox "Введені неправильні значення або значення не є коректними",, "= VaMp1r3 = ™"
Call clr_Click
End Sub
Private Sub cmb_Click ()
Call clr_Click
End Sub
Private Sub ext_Click ()
End
End Sub
Private Sub cop_Click ()
MsgBox "= VaMp1r3 = ™. Всі права захищені. З усіх питань а також з претензіями звертатися до гр. 6546 Б2 до їдальні Юрію.",, "= VaMp1r3 = ™"
End Sub
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Лабораторна робота
9.2кб. | скачати


Схожі роботи:
Додавання і віднімання цілих невід`ємних чисел у двійковому коді
Множення і ділення цілих невід`ємних чисел у двійковому коді
Мультиплікативні напівгрупи невід`ємних дійсних чисел
Кільце цілих чисел Гауса
Програма обробки масиву цілих чисел
Зворотні матриці над кільцем цілих чисел
Побудова арифметико-логічного пристрою для виконання операції множення цілих чисел
Історія чисел і числення
Перетворення чисел з однієї системи числення в іншу
© Усі права захищені
написати до нас